// 给你一个整数数组 nums，请你选择数组的两个不同下标i和j，
// 使 (nums[i]-1)*(nums[j]-1) 取得最大值。
// 请你计算并返回该式的最大值。

// 示例 1：
// 输入：nums = [3,4,5,2]
// 输出：12
// 解释：如果选择下标 i=1 和 j=2（下标从 0 开始），则可以获得最大值，(nums[1]-1)*(nums[2]-1) = (4-1)*(5-1) = 3*4 = 12 。

// 示例 2：
// 输入：nums = [1,5,4,5]
// 输出：16
// 解释：选择下标 i=1 和 j=3（下标从 0 开始），则可以获得最大值 (5-1)*(5-1) = 16 。

// 示例 3：
// 输入：nums = [10,2,5,2]
// 输出：36

// int maxProduct(int* nums, int numsSize) {}

#include <stdio.h>
#include <limits.h>

int maxProduct(int *nums, int numsSize)
{
    if (numsSize < 2)
    {
        return 0;
    }
    int max1 = nums[0];
    int max2 = INT_MIN;

    for (int i = 1; i < numsSize; i++)
    {
        if (nums[i] > max1)
        {
            max2 = max1;
            max1 = nums[i];
        }
        else if (nums[i] > max2)
        {
            max2 = nums[i];
        }
    }
    return (max1 - 1) * (max2 - 1);
}

int main()
{
}
